package main.动态规划;

/**
 * @author tmh
 * @date 2024/8/6 17:09
 * @description
 */
public class T198打家劫舍 {
    public int rob(int[] nums) {
        if (nums.length == 0) {
            return 0;
        }
        int len = nums.length;
        int[] dp = new int[len + 1];
        //初始化dp数组的前面两个值
        dp[0] = 0;
        dp[1] = nums[0];
        for (int k = 2; k <= len; k++) {
            //有两个抢法，一个是抢劫最后一家(k-1)，一个是抢劫k-2家和当前这家
            dp[k] = Math.max(dp[k - 1], dp[k - 2] + nums[k - 1]);
        }
        return dp[len];
    }
}
